package com.jinzhi.jzapi.domain;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.jinzhi.common.vo.PageInfoVo;
import com.jinzhi.sys.domain.RoleDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <pre>
 * </pre>
 * <small> 2018年3月23日 | Aron</small>
 */
@Data
@TableName("sys_user")
public class UserDO extends PageInfoVo implements Serializable  {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @TableField("name")
    @ApiModelProperty(value = "用户真实姓名")
    private String name;

    @ApiModelProperty(value = "用户名")
    private String username;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "salt")
    private String salt;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = " 状态 0:禁用，1:正常")
    private Integer status;

    @ApiModelProperty(value = " 创建用户id5x5x")
    private Long userIdCreate;

    @ApiModelProperty(value = "创建时间")
    @TableField("gmtCreate")
    private Date gmtCreate;

    @ApiModelProperty(value = "修改时间")
    @TableField("gmtModified")
    private Date gmtModified;

    @ApiModelProperty(value = "角色")
    @TableField(exist = false)
    private List<Long> roleIds;
    @TableField(exist = false)
    private String roleNameList;

    @ApiModelProperty(value = "性别")
    private Long sex;

    @ApiModelProperty(value = "图片ID")
    private Long picId;

    @ApiModelProperty(value = "详细地址")
    @TableField("detailed_address")
    private String detailedAddress;

    @ApiModelProperty(value = "爱好")
    private String hobby;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "所在城市")
    private String city;

    @ApiModelProperty(value = "所在地区")
    private String district;

    @ApiModelProperty(value = "证书小程序openId")
    private String cerOpenId;

    @ApiModelProperty(value = "培训小程序openId")
    private String traOpenId;

    @ApiModelProperty(value = "身份证号码")
    private String idNumber;

    @ApiModelProperty(value = "支付密码")
    private String payPassword;

    @ApiModelProperty(value = "用户类型(0.普通用户，1.月嫂)")
    private Integer type;

    @ApiModelProperty(value = "所属机构ID")
    private Long orgId;

    @ApiModelProperty(value = "微信小程序id")
    private Integer wxId;

    @ApiModelProperty(value = "用户头像")
    private String headPortrait;

    @ApiModelProperty(value = "出生年月")
    private String dateOfBirth;

    @ApiModelProperty(value = "民族")
    private String nation;

    @ApiModelProperty(value = "学历")
    private String education;


    @ApiModelProperty(value = "政治面貌")
    private String politicalAffiliation;

    @ApiModelProperty(value = "审核状态（0：已完善（审核中）， 1：通过 ，2：未通过，3：未完善）")
    private Integer state;

    @ApiModelProperty(value = "最后修改的端口(101：证书端，102：培训端)")
    @TableField("last_edit")
    private Integer lastEdit;


    @TableField("login_wx_code")
    @ApiModelProperty(value = "用户绑定微信扫码登录唯一标识")
    private String loginWxCode;

    @TableField("remark")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     *
     */
    @ApiModelProperty(value = "昵称")
    private String nickname;

    /**
     *
     */
    @ApiModelProperty(value = "年龄")
    private Integer age;

    /**
     * 婚姻状况(1.已婚，2.未婚)
     */
    @TableField("marital_status")
    @ApiModelProperty(value = "婚姻状况(1.已婚，2.未婚)")
    private String maritalStatus;

    /**
     * 生肖
     */
    @ApiModelProperty(value = "生肖")
    private String zodiac;

    /**
     * 星座
     */
    @ApiModelProperty(value = "星座")
    private String constellation;

    /**
     * 身高
     */
    @ApiModelProperty(value = "身高")
    private String height;

    /**
     * 体重
     */
    @ApiModelProperty(value = "体重")
    private String weight;

    /**
     * 籍贯
     */
    @ApiModelProperty(value = "籍贯")
    @TableField("native_place")
    private String nativePlace;

    /**
     * 当前积分
     */
    @ApiModelProperty(value = "当前积分")
    @TableField("current_points")
    private String currentPoints;

    /**
     * 累计积分
     */
    @TableField("accumulated_points")
    @ApiModelProperty(value = "累计积分")
    private String accumulatedPoints;

    /**
     * 累计充值金额
     */
    @TableField("total_money")
    @ApiModelProperty(value = "累计充值金额")
    private String totalMoney;


    /**
     * 邀请人
     */
    @TableField("lnvite_user_id")
    @ApiModelProperty(value = "邀请人id")
    private Long lnviteUserId;


    /**
     * 接单手机号
     */
    @TableField("order_phone")
    @ApiModelProperty(value = "接单手机号")
    private String orderPhone;

    @TableField("refresh")
    @ApiModelProperty(value = "简历刷新按钮是否已经使用过（0.未刷新，1.已刷新）")
    private Integer refresh;


    @TableField("refresh_time")
    @ApiModelProperty(value = "简历刷新按钮是否已经使用过通过时间判断今天是否已使用过")
    private Date refreshTime;

    @TableField("sort_status")
    @ApiModelProperty(value = "排序字段")
    private Integer sortStatus;


    @TableField(exist = false)
    private List<RoleDO> roles;
    /**
     * 推荐人
     */
    @TableField("referee")
    @ApiModelProperty(value = "推荐人")
    private String referee;

    @TableField("enable_home")
    @ApiModelProperty(value = "是否首页展示")
    private Integer enableHome;

    @TableField("home_order")
    @ApiModelProperty(value = "首页优先级")
    private Integer homeOrder;

    @TableField("list_order")
    @ApiModelProperty(value = "列表优先级")
    private Integer listOrder;

    @TableField("bank_card")
    @ApiModelProperty(value = "银行卡号")
    private String bankCard;

    @TableField("id_card_address")
    @ApiModelProperty(value = "身份证地址")
    private String idCardAddress;

    @TableField("open_bank")
    @ApiModelProperty(value = "开户卡")
    private String openBank;

    
}
